Skip to content

[NFC] Fix TAEF string literals in HLSL exec tests - #9004

Merged
Deric C. (Icohedron) merged 2 commits into
microsoft:mainfrom
Icohedron:taef-wide-strings
Oct 6, 2026
Merged

Deric C. (Icohedron) merged 2 commits into
microsoft:mainfrom
Icohedron:taef-wide-strings

Conversation

@Icohedron

@Icohedron Deric C. (Icohedron) commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Several strings passed to TAEF were not wide strings and caused build failures on some machines for the HLSL exec tests depending on the version of TAEF headers used.

| [1505/1716] Building CXX object tools\clang\unittests\HLSLExec\CMakeFiles\ExecHLSLTests.dir\LongVectors.cpp.obj
| FAILED: [code=2] tools/clang/unittests/HLSLExec/CMakeFiles/ExecHLSLTests.dir/LongVectors.cpp.obj
| "C:\Program Files\WinGet\Links\sccache.exe" C:\PROGRA~1\MICROS~1\18\COMMUN~1\VC\Tools\MSVC\1451~1.362\bin\HOSTAR~1\arm64\cl.exe  /nologo /TP -DENABLE_SPIRV_CODEGEN -DMSFT_SUPPORTS_CHILD_PROCESSES -DSUPPORT_QUERY_GIT_COMMIT_INFO -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_ITERATOR_DEBUG_LEVEL=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\build\tools\clang\unittests\HLSLExec -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\tools\clang\unittests\HLSLExec -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\tools\clang\include -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\build\tools\clang\include -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\include\llvm\llvm_assert -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\build\include -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\include -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\build\include\dxc\Tracing -I\directx -I\wsl\stubs -I"C:\Program Files (x86)\Windows Kits\10\Testing\Development\inc" -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um" -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared" -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\include\dxc\Test -IC:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\include\dxc\Support /DWIN32 /D_WINDOWS   -wd4180 -wd4244 -wd4258 -wd4267 -wd4291 -wd4345 -wd4351 -wd4355 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4800 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4324 -we4238 /W4 /Zc:sizedDealloc- /bigobj /O2 /Ob1  -std:c++17 -MD -Z7   -UNDEBUG /EHsc /guard:cf /showIncludes /Fotools\clang\unittests\HLSLExec\CMakeFiles\ExecHLSLTests.dir\LongVectors.cpp.obj /Fdtools\clang\unittests\HLSLExec\CMakeFiles\ExecHLSLTests.dir\ /FS -c C:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\tools\clang\unittests\HLSLExec\LongVectors.cpp
| C:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\tools\clang\unittests\HLSLExec\LongVectorTestData.h(61): error C2664: 'bool WEX::TestExecution::Private::MacroVerify::Fail(const WEX::TestExecution::ErrorInfo &,const wchar_t *)': cannot convert argument 2 from 'const char [18]' to 'const wchar_t *'
| C:\Users\Admin\.cache\act\771c49b93e7b4b67\hostexecutor\DXC\tools\clang\unittests\HLSLExec\LongVectorTestData.h(61): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or parenthesized function-style cast
| C:\Program Files (x86)\Windows Kits\10\Testing\Development\inc\Verify.h(1788): note: see declaration of 'WEX::TestExecution::Private::MacroVerify::Fail'

Copilot AI balanced review requested due to automatic review settings October 5, 2026 21:55
@Icohedron Deric C. (Icohedron) changed the title Fix TAEF string literals in HLSL exec tests [NFC] Fix TAEF string literals in HLSL exec tests Oct 5, 2026
@Icohedron
Deric C. (Icohedron) enabled auto-merge (squash) October 5, 2026 21:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: None

What changed in this PR

Fixes Windows build failures in HLSL exec unit tests by ensuring all strings passed to TAEF/WEX verification and test property macros are wide-string literals.

Changes:

  • Convert TEST_METHOD_PROPERTY / TEST_CLASS_PROPERTY string literals to L"..." in LongVectors.cpp and LinAlgTests.cpp.
  • Convert WEX verification failure messages (e.g., VERIFY_FAIL, VERIFY_IS_TRUE) to wide strings across affected tests/utilities.
  • Align a failing VERIFY_FAIL in LongVectorTestData.h with WEX’s const wchar_t* expectations.
File Description
tools/​clang/​unittests/​HLSLExec/​LongVectors.cpp Switches TAEF test metadata properties to wide strings to avoid narrow→wide build errors.
tools/​clang/​unittests/​HLSLExec/​LongVectorTestData.h Fixes VERIFY_FAIL message to use a wide literal.
tools/​clang/​unittests/​HLSLExec/​LinAlgTests.cpp Converts a large set of WEX verify messages and TAEF properties to wide strings for consistent compilation.
tools/​clang/​unittests/​HLSLExec/​HlslExecTestUtils.cpp Updates verify messages to wide strings in shared test utilities.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Copilot AI balanced review requested due to automatic review settings October 5, 2026 22:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The mechanical string-literal corrections consistently satisfy the TAEF wide-string API requirements without changing test behavior.

Review effort: Balanced
Findings: None

@Icohedron
Deric C. (Icohedron) enabled auto-merge (squash) October 5, 2026 23:41
@Icohedron
Deric C. (Icohedron) merged commit 20d6bb4 into microsoft:main Oct 6, 2026
12 checks passed
@damyanp

Copy link
Copy Markdown
Member

Deric C. (@Icohedron) - this isn't the right fix, please revert it. Only extremely old versions of TAEF don't support normal strings. See #7888

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants